#include<cstdio>
#include<iostream>
//利用动态数组容器可以更好地使用
#include<vector>
using namespace std;
void q_sort(vector<int> &arr,int l,int r)
{
    //跳出条件
    if(l >= r)
    {
        return ;
    }
    int i  = l - 1;
    int j = r + 1;
    int x = arr[l + r >> 1];
    while(i < j)
    {
        do
        {
            i ++;
        }while(arr[i] < x);
        do
        {
            j --;
        }while(arr[j] > x);
        if(i< j)
        {
            swap(arr[i],arr[j]);
        }
    }
    q_sort(arr,l,j);
    q_sort(arr,j + 1,r);
}
int main()
{
    vector<int>arr;
    //创建临时接受变量
    int tem = 0;
    //输入流进行输入
    //输入元素个数
    int n = 0;
    cin >> n;
    for(int i = 0;i < n;i++)
    {
        cin >> tem;
        arr.push_back(tem);
    }
    q_sort(arr,0, n - 1);
    for(auto j : arr)
    {
        cout << j << ' ';
    }
    return 0;
}